{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "c65cdb00-720a-41ca-b4bd-3c7bcb59e212",
   "metadata": {},
   "source": [
    "<font size=\"7\">模型评估</font>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "d0e4f758-ad5e-4f95-8222-654348f3c28c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Y/UYz/ddvdxtEJP39mL65k2t81qN+/o+Tt8RExo8xsYKye7zHTp0oEOHumsONPaaiIhIuOreP5tDq1NINepeHnMZZnJzfdvcm1PNoLpYVkdIRERErBUZFcX+gTMBatX8qb7Nvb68nuZUM6guCoRERETCWGb2WAoGPc0RW0qN84dtKRQMetrjDi9fBFNWalY5QlZQjpCIiISD6sUQWyZ1oHv/7AYFL5V1hNKq1RE6iHU1g7x9fisQ8kCBkIiIiHeaGkz5krfPby2NiYiISNgKzgU7ERERCShfLY01tV9ZoCkQEhERCXNNDWI89Svb8O1WWqR1s3y5rC7BMxIREREJuKY2XfXUYsMwYODexbDXPBdss0TKERIREQlTvmi66qlfme2M86lGEb3WTyI/d2ljh+1TCoRERETClC+arnrbr6z6a4J3Xe0DQYGQiIhImDpx9Jsm3xeT0K7B7+tNgBUoCoRERETClOP4UZ/e11ANnU3yBwVCIiIiYSoqPrXJ99lLDjb6/YOhEat2jYmIiISpuJT0Jt/XmGDGm672gaIZIRERkTBV2TneXbMtw4vO8Z66z5/52sHWiFWBkIiISJiq7BxvUHfneAPPAYs33eer87arfaBYH4qJiIiIZTKzx5IPtTrHH7Z53zm+vtfY128GsQlpNVp3tAuCmaBK6j7vgbrPi4hIOPBF5/jm2H1egZAHCoRERESaH2+f38oREhERkbClQEhERETClgIhERERCVsKhERERCRsKRASERGRsKVASERERMKWAiEREREJWwqEREREJGwpEBIREZGwpUBIREREwpYCIREREQlbCoREREQkbCkQEhERkbClQEhERETCVpTVAxAREQkHToeDHZtyOVm8j5ZJHejeP5vIKD2GraY/ARERET/Lz11K+w2zyKCo6tyh1SnsHziTzOyxFo5MFAiJiIj4UX7uUnqtn2Qe2P53PtUoInX9JPJBwZCFlCMkIiLiJ06Hg/YbZmEDImw1r0XYzLjo7A2zcDocVgxPUCAkIiLiNzs25ZJGETZb3ddtNmhHETs25QZ2YFJFgZCIiIifnCja69P7xPcUCImIiPiJo+yIT+8T31OytIiIiJ9EtW7r0/u0Bd/39NMTERHxk7i2HX12n7bg+4eWxkRERPyke/9sDpGCy6j7usuAg6TQvX92va9TuQU/1SiqcT7VKKLX+knk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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "系数a为:2497.1513476046875\n",
      "截距b为:10143.131966873783\n"
     ]
    }
   ],
   "source": [
    "#1.读取数据\n",
    "import pandas as pd\n",
    "df = pd.read_excel(r\"C:\\Users\\huaihuai\\Desktop\\商业数据分析\\代码\\@Python大数据分析与机器学习商业案例实战\\第3章 线性回归模型\\源代码汇总_Jupyter Notebook格式（推荐）\\IT行业收入表.xlsx\")\n",
    "X = df[['工龄']]\n",
    "Y = df['薪水']\n",
    "#2.通过如下代码可以将此时的散点图绘制出来：\n",
    "from matplotlib import pyplot as plt\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']  \n",
    "plt.scatter(X,Y)\n",
    "plt.xlabel('工龄')\n",
    "plt.ylabel('薪水')\n",
    "#3.搭建模型\n",
    "from sklearn.linear_model import LinearRegression\n",
    "regr = LinearRegression()  # 引入模型\n",
    "regr.fit(X,Y)  # 训练模型\n",
    "#4.模型可视化\n",
    "plt.scatter(X,Y)\n",
    "plt.plot(X, regr.predict(X), color='red')  # color='red'设置为红色\n",
    "plt.xlabel('工龄')\n",
    "plt.ylabel('薪水')\n",
    "plt.show()\n",
    "#5.构造线性回归方程\n",
    "print('系数a为:' + str(regr.coef_[0]))\n",
    "print('截距b为:' + str(regr.intercept_))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "0a2a4d10-fd73-4fe8-92dc-0c2d6b2139b1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>OLS Regression Results</caption>\n",
       "<tr>\n",
       "  <th>Dep. Variable:</th>           <td>薪水</td>        <th>  R-squared:         </th> <td>   0.855</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Model:</th>                   <td>OLS</td>       <th>  Adj. R-squared:    </th> <td>   0.854</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Method:</th>             <td>Least Squares</td>  <th>  F-statistic:       </th> <td>   578.5</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Date:</th>             <td>Thu, 25 Sep 2025</td> <th>  Prob (F-statistic):</th> <td>6.69e-43</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Time:</th>                 <td>08:28:14</td>     <th>  Log-Likelihood:    </th> <td> -930.83</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>No. Observations:</th>      <td>   100</td>      <th>  AIC:               </th> <td>   1866.</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Residuals:</th>          <td>    98</td>      <th>  BIC:               </th> <td>   1871.</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Model:</th>              <td>     1</td>      <th>                     </th>     <td> </td>   \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Covariance Type:</th>      <td>nonrobust</td>    <th>                     </th>     <td> </td>   \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "    <td></td>       <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>const</th> <td> 1.014e+04</td> <td>  507.633</td> <td>   19.981</td> <td> 0.000</td> <td> 9135.751</td> <td> 1.12e+04</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>工龄</th>    <td> 2497.1513</td> <td>  103.823</td> <td>   24.052</td> <td> 0.000</td> <td> 2291.118</td> <td> 2703.185</td>\n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "  <th>Omnibus:</th>       <td> 0.287</td> <th>  Durbin-Watson:     </th> <td>   0.555</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Prob(Omnibus):</th> <td> 0.867</td> <th>  Jarque-Bera (JB):  </th> <td>   0.463</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Skew:</th>          <td> 0.007</td> <th>  Prob(JB):          </th> <td>   0.793</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Kurtosis:</th>      <td> 2.667</td> <th>  Cond. No.          </th> <td>    9.49</td>\n",
       "</tr>\n",
       "</table><br/><br/>Notes:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
      ],
      "text/latex": [
       "\\begin{center}\n",
       "\\begin{tabular}{lclc}\n",
       "\\toprule\n",
       "\\textbf{Dep. Variable:}    &        薪水        & \\textbf{  R-squared:         } &     0.855   \\\\\n",
       "\\textbf{Model:}            &       OLS        & \\textbf{  Adj. R-squared:    } &     0.854   \\\\\n",
       "\\textbf{Method:}           &  Least Squares   & \\textbf{  F-statistic:       } &     578.5   \\\\\n",
       "\\textbf{Date:}             & Thu, 25 Sep 2025 & \\textbf{  Prob (F-statistic):} &  6.69e-43   \\\\\n",
       "\\textbf{Time:}             &     08:28:14     & \\textbf{  Log-Likelihood:    } &   -930.83   \\\\\n",
       "\\textbf{No. Observations:} &         100      & \\textbf{  AIC:               } &     1866.   \\\\\n",
       "\\textbf{Df Residuals:}     &          98      & \\textbf{  BIC:               } &     1871.   \\\\\n",
       "\\textbf{Df Model:}         &           1      & \\textbf{                     } &             \\\\\n",
       "\\textbf{Covariance Type:}  &    nonrobust     & \\textbf{                     } &             \\\\\n",
       "\\bottomrule\n",
       "\\end{tabular}\n",
       "\\begin{tabular}{lcccccc}\n",
       "               & \\textbf{coef} & \\textbf{std err} & \\textbf{t} & \\textbf{P$> |$t$|$} & \\textbf{[0.025} & \\textbf{0.975]}  \\\\\n",
       "\\midrule\n",
       "\\textbf{const} &    1.014e+04  &      507.633     &    19.981  &         0.000        &     9135.751    &     1.12e+04     \\\\\n",
       "\\textbf{工龄}    &    2497.1513  &      103.823     &    24.052  &         0.000        &     2291.118    &     2703.185     \\\\\n",
       "\\bottomrule\n",
       "\\end{tabular}\n",
       "\\begin{tabular}{lclc}\n",
       "\\textbf{Omnibus:}       &  0.287 & \\textbf{  Durbin-Watson:     } &    0.555  \\\\\n",
       "\\textbf{Prob(Omnibus):} &  0.867 & \\textbf{  Jarque-Bera (JB):  } &    0.463  \\\\\n",
       "\\textbf{Skew:}          &  0.007 & \\textbf{  Prob(JB):          } &    0.793  \\\\\n",
       "\\textbf{Kurtosis:}      &  2.667 & \\textbf{  Cond. No.          } &     9.49  \\\\\n",
       "\\bottomrule\n",
       "\\end{tabular}\n",
       "%\\caption{OLS Regression Results}\n",
       "\\end{center}\n",
       "\n",
       "Notes: \\newline\n",
       " [1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                            OLS Regression Results                            \n",
       "==============================================================================\n",
       "Dep. Variable:                     薪水   R-squared:                       0.855\n",
       "Model:                            OLS   Adj. R-squared:                  0.854\n",
       "Method:                 Least Squares   F-statistic:                     578.5\n",
       "Date:                Thu, 25 Sep 2025   Prob (F-statistic):           6.69e-43\n",
       "Time:                        08:28:14   Log-Likelihood:                -930.83\n",
       "No. Observations:                 100   AIC:                             1866.\n",
       "Df Residuals:                      98   BIC:                             1871.\n",
       "Df Model:                           1                                         \n",
       "Covariance Type:            nonrobust                                         \n",
       "==============================================================================\n",
       "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
       "------------------------------------------------------------------------------\n",
       "const       1.014e+04    507.633     19.981      0.000    9135.751    1.12e+04\n",
       "工龄          2497.1513    103.823     24.052      0.000    2291.118    2703.185\n",
       "==============================================================================\n",
       "Omnibus:                        0.287   Durbin-Watson:                   0.555\n",
       "Prob(Omnibus):                  0.867   Jarque-Bera (JB):                0.463\n",
       "Skew:                           0.007   Prob(JB):                        0.793\n",
       "Kurtosis:                       2.667   Cond. No.                         9.49\n",
       "==============================================================================\n",
       "\n",
       "Notes:\n",
       "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
       "\"\"\""
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import statsmodels.api as sm\n",
    "X2 = sm.add_constant(X)\n",
    "est = sm.OLS(Y, X2).fit()\n",
    "est.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f9bb6200-7a70-4981-abb4-6d8c3ad1f684",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
